2024년 11월 일지
2024년 11월 일지
월간 회고
새 프로젝트 시작을 위해 준비하느라 바빴던 한 달. 18년 만에 자바 공부를 했지만 결국 자바를 쓸 일은 없게 되었다. 곧 다시 다 까먹을 것 같다. Python, Next.js 15, React 19, Tailwind를 쓸 것 같다. 프로젝트 관련하여 수산업과 국제무역도 조금 공부했다.
일지
2024-11-30
수산업 계속 공부 중. 수험서 두 권을 훑어 읽었다.
2024-11-27
React Server Component에 대해 좀 더 알아보려고 RFC #0188 - React Server Component랑 Two ways to the two Reacts | bobae kang를 읽었다.
눈이 엄청 많이 왔다. 기상 관측 이래 11월 기준 최고 기록이라고.
2024-11-21
Bridget Jones’s diary 다 읽었다 :) 다음 책은 From the mixed-up files of Mrs. Basil E. Frankweiler
2024-11-16
Perplexity AI의 환각 사례를 직접 겪었다. “한국에서 가장 많이 수입하는 수산물”을 질의하자 엉뚱하게 일본 정보를 출처로 가져와서 환각을 일으켰다. “2022년 기준 수산가공품 중 새우의 수입 규모가 약 74억 4700만 달러로, 전체 수산물 수입의 50.5%를 차지하며 1위를 기록했습니다”라고 답하며 출처를 제시했지만 해당 출처는 한국이 아닌 일본 사례였다.
Perplexity AI는 출처를 보여주기 때문에 더 신뢰감(trustful)을 주지만 실제로 신뢰할 수 있는(trustworth) 시스템은 아니다. LLM만으로는 RAG를 하더라도 환각을 제거할 수 없고 반드시 기호주의적 시스템과 연결되어야 한다.
한 연구(Generative echo chamber: Effects of LLM-powered search systems on diverse information seeking)에 따르면 LLM 기반 대화형 검색 엔진이 출처 링크 제공해도 사람들은 링크를 거의 누르지 않았다(세션 당 링크 클릭수: mean=0.43, sd=1.13). 즉, LLM은 꾸준히 헛소리를 하고 출처를 줘봤자 사람들은 검증을 안한다.
2024-11-13
영국의 보수 정치평론가이자 언론인인 더글라스 머레이의 2017년 저서 유럽의 기이한 죽음: 이민, 정체성, 이슬람을 읽고 있다. 소위 ‘이슬람 이민자 문제’ 때문에 유럽이 죽어가고 있다는 내용이다. 내 생각이랑 너무나 달라서 흥미롭다.
위 책을 읽다가 영국 영어에서는 구두점을 인용부호 밖에 찍는다는 걸 알게 됐다. 예를 들어 미국 영어에서는 이렇게 쓰는데
He identified himself as ‘white British.’
영국 영어에서는 이렇게 쓴다.
He identified himself as ‘white British’.
쉼표 등도 마찬가지.
그리고 옥스퍼드 컴마(Oxford comma)도 (이름만 보면) 영국에선 다들 쓸 것 같은데 그렇지 않더라. 옥스퍼드 컴마란 “A, B, and C”에서 B와 and C 사이에 찍는 쉼표를 말한다. 옥스퍼드 컴마 없이 “A, B and C”라고 쓰면 “A & (B, C)“를 말하는지, “A & B & C”를 말하는지 모호할 수 있다.
2024-11-11
Microsoft에서 GenAIScript라는 걸 내놨다. GPTScript랑 비슷한데 더 좋아 보인다.
어쩌다보니 수산업과 국제무역을 공부하고 있다. 지난달에 공부했던 물류 용어랑 연결되는 지점들이 있어서 좋다.
완전 생소한 분야를 처음 접할 때 관련 법령을 찾아보면 각종 정의가 잘 내려져 있고 어떤 이해관계자들과 어떤 관심사들이 있는지 아주 대략적으로 파악할 수 있어서 좋다. 그 다음 단계로는 “for Dummies” 같은 시리즈를 훑어 읽으면 좋다. 이 정도를 준비하면 해당 분야 실무자들이 하는 말을 어느 정도 이해할 수 있게 되는 것 같다.
2024-11-09
React 19와 Next.js 15를 공부하고 있다.
React는 2014년에 처음 써 봤고 첫 인상이 좋았으나 첫 인상만 좋았다. Next.js 2021년에 처음 써봤고 React의 마음에 안드는 점을 커버하고 남을 만큼 좋았는데 점점 더 마음에 안드는 방향으로 바뀌는 것 같다. 내 프로젝트라면 SvelteKit을 쓸텐데, 개발하고 넘겨줘야 하는 프로젝트라서 남들이 많이 쓰는 걸 쓰는 게 좋을 것 같다. 그런 의미에서 정말 쓰기 싫은 Tailwind도 쓸 생각이다.
이 조합(React/Next/Tailwind)의 장점은 AI가 상대적으로 더 잘 도와준다는 점인 것 같다.
2024-11-05
RFC 6648을 공부했다. HTTP에 비표준 헤더 쓸 때 “X-” prefix 붙이지 말라고. 2012년부터 있었는데 모르고 있었다.
2024-11-02
인간-AI 협업이 어떤 상황에서 더 나은 결과를 보이는지에 대한 연구(When combinations of humans and AI are useful - A systematic review and meta-analysis)를 읽었는데. 결과가 미묘해서 Discussion 섹션이 재밌다. 특히 흥미로운 부분:
- 인간이 AI보다 잘하는 일에 AI를 붙여주면 인간 혼자 할 때보다 결과가 더 좋음
- AI가 인간보다 잘하는 일에 인간을 붙여주면 AI 혼자 할 때보다 결과가 더 나쁨
저자들은 인간이 AI보다 전반적으로 잘하는 경우에라야, AI의 제안을 수용할지 여부도 더 잘 판단할 수 있기 때문일 것으로 추측한다. 그러니까 인간이 AI보다 못하는 상황에선 AI를 의심할 타이밍에 의심 안하거나(overreliance), AI의 제안을 수용할 타이밍에 고집을 부리거나(underreliance) 한다는 얘기.
또다른 흥미로운 점은 인간이 AI보다 잘하는 일이건 못하는 일이건 간에, 인간이 혼자 하는 것보다는 AI랑 같이하는 게 대체로 더 나았다는 점. 특히 유한한 선택지 중 고르는 종류의 일이 아니라 열린 상황(콘텐츠 생산 등)에서는 더욱 그러함.
2024-11-01
자바 프로젝트를 하게 됐다. 18년 만이다. Java 5를 마지막으로 손에서 놨는데 지금 최신 버전은 Java 23라고 한다. Learning Java 6판을 읽었다. Java 21까지 다루는데 그리 잘 쓰인 책은 아닌 것 같다.
관심이 가는 변화 몇 가지는 이렇다.
- 타입 추론 개선
- 람다식 지원
- 메서드 레퍼런스
switch
식과 패턴 매칭 (옛날엔 C 스타일의switch
문만 있었다)- 이름 없는 변수 (
_
) Optional
지원Record
클래스Stream
APIVector
API- 인터페이스의
default
메서드 - 가상 스레드
- 모듈 개념 추가
이제 Spring Boot 공부해야지.